/*
    输出从 M 到 N 的所有素数
        输出第5个到第27个素数
        11 13 17 19 23 29 31 37 41 43
        47 53 59 61 67 71 73 79 83 89
        97 101 103
*/

/*埃氏筛*/
#include<bits/stdc++.h>
using namespace std;
const int N=1e4*2+10;
bool a[N]; //判断是否为素数
vector<int> ans; //存素数
void ash(){//true表示为合数
    for(int i=2;i<N;i++){
        if(!a[i]){
            ans.push_back(i);
            for(int j=i;j<N;j+=i)
                a[j]=true;
        }
    }
}
/*
这里的vector是来存放素数的，因为他说要输出从第几个到第几个素数，而不是一个数字范围内的素数，所以vector表示第一个到第n个
*/
int main(){
    int m,n;
    cin>>m>>n;
    int count=0;
    ash();
    for(int i=m-1;i<n;i++){
        count++;
        cout<<ans[i];
        if(count<10&& (i!=n-1)) cout<<" ";
		if(count%10==0) cout<<endl,count=0;
    }
}